package com.aaa.sbms.service;

import org.apache.ibatis.annotations.Select;

import java.util.Map;

public interface CarService {

    /**
     * 查询车辆
     * @return
     */
    Map cars();

    /**
     * 分页查询车辆
     * @param map
     * @return
     */
    Map carPage(Map map);

    /**
     * 分页查询车辆审核记录
     * @param map
     * @return
     */
    Map carauditPage(Map map);

    /**
     * 分页查询车辆使用记录
     * @param map
     * @return
     */
    Map carusePage(Map map);

    /**
     * 分页查询车辆维修记录
     * @return
     */
    Map carmaintainPage(Map map);

    /**
     * 分页查询车辆加油记录
     * @param map
     * @return
     */
    Map carrefuelPage(Map map);

    /**
     * 查询一个车辆
     * @param carid
     * @return
     */
    Map carOne(int carid);

    /**
     * 查询一个车辆使用记录
     * @param id
     * @return
     */
    Map carauditOne(int id);

    /**
     * 查询一个车辆使用记录
     * @param id
     * @return
     */
    Map caruseOne(int id);

    /**
     * 添加车辆
     * @param map
     * @return
     */
    int addCar(Map map);

    /**
     * 添加车辆申请
     * @param map
     * @return
     */
    int addCarAudit(Map map);

    /**
     * 添加车辆维修记录
     * @return
     */
    int addCarMaintain(Map map);

    /**
     * 添加车辆加油记录
     * @param map
     * @return
     */
    int addCarRefuel(Map map);

    /**
     * 更新车辆
     * @param map
     * @return
     */
    int updateCar(Map map);

    /**
     * 删除车辆
     * @param carid
     * @return
     */
    int deleteCar(int carid);

    /**
     * 车辆申请审核
     * 如果通过，修改申请表的开始时间、审核状态、审核人，修改车辆表对应的车辆状态、使用者，添加车辆使用记录
     * 如果驳回，修改申请表的审核状态、审核人，添加车辆使用记录
     * @param map
     * @return
     */
    int audit(Map map);
}
